생성자/소멸자
NOTE
C++ 생성자 오버로딩, 디폴트 생성자, 소멸자 개념과 예시.
📌 개념
다양한 생성자 (오버로딩)
#include <iostream>
using namespace std;
class SimpleClass
{
private:
int num1;
int num2;
public:
SimpleClass() // 기본생성자1 ( 생략 가능 )
{
num1=0;
num2=0;
}
SimpleClass( int n) // 생성자 2
{
num1 = n;
num2 = 0;
}
SimpleClass(int n1, int n2) // 생성자 3
{
num1 = n1;
num2 = n2;
}
};
int main (void){
SimpleClass sc1; // 생성자1 호출
SimpleClass sc2(3); // 생성자 2 호출
SimpleClass sc3(3,4) // 생성자 3 호출
}default 생성자 (기본값 매개변수)
#include <iostream>
using namespace std;
class SimpleClass
{
private:
int num1;
int num2;
public:
SimpleClass(int n1=0, int n2=0) // 생성자
{
num1=n1;
num2=n2;
}
int main (void){
SimpleClass sc1; // 생성자1 호출 ⇒ num1=0 / num2=0
}소멸자
- 동적 배열을 삭제하는 역할 (동적 할당 해제)
- main 함수 끝에서 소멸자 실행됨 (객체가 없어질 때)
public:
IntArray(int length)
{
m_Array= new int[static_cast<size_t>(length)]; // 동적배열할당
m_Length = length;
}
~IntArray()
{
delete[] m_Array; //동적 배열 할당 해제
}